1 package org.smartcomps.twister.engine.core.definition;
2
3 import junit.framework.TestCase;
4 import net.sf.hibernate.tool.hbm2ddl.SchemaExport;
5 import net.sf.hibernate.cfg.Configuration;
6 import org.smartcomps.twister.common.transaction.TransactionManager;
7 import org.smartcomps.twister.common.lifecycle.LifecycleManager;
8 import org.smartcomps.twister.engine.priv.core.definition.ActivityFactory;
9 import org.smartcomps.twister.engine.priv.core.definition.Sequence;
10 import org.smartcomps.twister.engine.priv.core.definition.Invoke;
11 import org.smartcomps.twister.engine.priv.core.definition.ProcessFactory;
12 import org.smartcomps.twister.engine.priv.core.definition.Activity;
13 import org.smartcomps.twister.util.BeanTester;
14
15 /***
16 * Tests a simple sequence with three invokes (as a sequence by itself
17 * doesn't really make sense).
18 */
19 public class TestSequence extends TestCase {
20
21 public static Sequence testSequence = null;
22
23 private TestProcess testProcess = new TestProcess();
24 private ProcessFactory processFactory = new ProcessFactory();
25 private ActivityFactory activityFactory = new ActivityFactory();
26 private BeanTester beanTester = new BeanTester(new String[] {"Id", "Index"});
27
28 protected void setUp() throws Exception {
29 LifecycleManager.getLifecycleManager().createResources();
30 LifecycleManager.getLifecycleManager().startResources();
31
32 SchemaExport schemaExport = new SchemaExport(new Configuration().configure());
33 schemaExport.create(true, true);
34
35 TransactionManager.beginTransaction();
36 testProcess.testCreate();
37 }
38
39 protected void tearDown() throws Exception {
40 TransactionManager.commitTransaction();
41
42 LifecycleManager.getLifecycleManager().stopResources();
43 LifecycleManager.getLifecycleManager().destroyResources(); }
44
45 public void testCreate() throws Exception {
46 testSequence = (Sequence) ActivityFactory.createActivity(Sequence.class, TestProcess.testProcess);
47 Invoke invoke1 = (Invoke) ActivityFactory.createActivity(Invoke.class, testSequence);
48 beanTester.initializeProperties("invoke1", invoke1);
49 Invoke invoke2 = (Invoke) ActivityFactory.createActivity(Invoke.class, testSequence);
50 beanTester.initializeProperties("invoke2", invoke2);
51 Invoke invoke3 = (Invoke) ActivityFactory.createActivity(Invoke.class, testSequence);
52 beanTester.initializeProperties("invoke3", invoke3);
53
54 TransactionManager.commitTransaction();
55 TransactionManager.beginTransaction();
56
57 Sequence resultSeq = (Sequence) ProcessFactory.getByName(TestProcess.testProcess.getName()).getActivity();
58 assertNotNull("Sequence process is null", resultSeq.getProcess());
59 Activity act1 = (Activity) resultSeq.getActivities().get(0);
60 assertTrue("First activity in the sequence is not an Invoke", act1 instanceof Invoke);
61 assertTrue("First activity attributes have been changed", beanTester.testValues("invoke1", act1));
62 Activity act2 = (Activity) resultSeq.getActivities().get(1);
63 assertTrue("Second activity in the sequence is not an Invoke", act2 instanceof Invoke);
64 assertTrue("Second activity attributes have been changed", beanTester.testValues("invoke2", act2));
65 Activity act3 = (Activity) resultSeq.getActivities().get(2);
66 assertTrue("Third activity in the sequence is not an Invoke", act3 instanceof Invoke);
67 assertTrue("Third activity attributes have been changed", beanTester.testValues("invoke3", act3));
68
69 invoke1.setInputVariable(null);
70 invoke1.setOutputVariable(null);
71 invoke2.setInputVariable(null);
72 invoke2.setOutputVariable(null);
73 invoke3.setInputVariable(null);
74 invoke3.setOutputVariable(null);
75 }
76
77 }
This page was automatically generated by Maven